#ifndef LEMC_SYSTEM_H
#define LEMC_SYSTEM_H

//DEBUG
#include <iostream>

#include "WindowsIncludes.h"
#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
#include <allegro5/allegro_primitives.h>
#include <allegro5/allegro_font.h>
#include <allegro5/allegro_ttf.h>
#include <string>

#include "../util/logmanager.h"
#include "screen.h"
#include "gameengine.h"
#include "../gamestates/lobbystate.h"

class System
{
private:
	GameEngine* m_game;
	ALLEGRO_DISPLAY* m_display;

	System() {}
	~System() {}

public:
	static System* GetInstance();

	void Initialize();
	void Run();
	void Shutdown();

	GameEngine* game() { return m_game; }
	ALLEGRO_DISPLAY* display() { return m_display; }
};

#endif